IModel インタフェース

名前空間: NextDesign.Core

説明

NextDesignの設計モデル情報へのアクセス手段を提供します。

所属エリア

名前 説明
モデル モデルにアクセスするAPI群です。

継承元

名前 説明
IObject 識別可能なオブジェクトを表します。

派生先

名前 説明
IFrame フレーム情報へのアクセスオブジェクトです。
IInteraction 相互作用モデル情報へのアクセスオブジェクトです。
IInteractionElement 相互作用モデル要素情報へのアクセスオブジェクトです。
相互作用を表現する要素に共通の特性を定義します。
IRelationship 関連情報へのアクセスオブジェクトです。
IConfigurationModel プロダクトコンフィグレーションモデル対するアクセスオブジェクトです。
IFeature プロダクトの特徴(フィーチャ)情報に対するアクセスオブジェクトです。
IFeatureModel プロダクトの特徴(フィーチャ)を構造化した管理モデルに対するアクセスオブジェクトです。
IProduct プロダクト情報対するアクセスオブジェクトです。
IProductLineModel プロダクトライン開発支援モデルに対するアクセスオブジェクトです。
IProject プロジェクト情報へのアクセス手段を提供します。

プロパティ

名前 説明
ClassName クラス名
Metaclass の完全修飾名を取得します。
Description 説明
Errors このモデルのエラー情報のコレクションを取得します。

エラー情報にはサマリ情報を含みます。
HasError このモデルにエラーがあるか調べます。
このモデルにエラーがある場合はTrueを返します。

この評価はサマリ情報を含みます。
HasErrorWithChildren このモデル、およびこのモデルが所有する子要素以下の要素においてエラーがあるか調べます。
このモデル、およびこのモデルが所有する子要素以下の要素にエラーがある場合はTrueを返します。

この評価はサマリ情報を含みます。
IsDeleted このインスタンスが削除済みであるか調べます。
IsEditable このインスタンスが編集可能であるかを調べます。
IsProxy このインスタンスがプロキシ要素であるか調べます。
プロキシ要素は、分散環境において、このインスタンス情報を記録したユニットが読み込まれていない場合に生成されます。
IsUnitTopModel このインスタンスがユニットの基点モデルであるか調べます。
Metaclass クラス
ModelPath このインスタンスのモデル階層パス
モデルのルート、またはプロダクトラインを起点とするモデル階層を、パス区切り文字("/")で結合したパス文字列を返します。
ModelUnit このインスタンス情報を管理するユニット(物理ファイル)情報
Name 名前
Owner このインスタンスを直接所有するモデル
このインスタンスが関連の場合、または、所有するモデルが存在しない場合は null を返します。
OwnerProject このインスタンスを保持するプロジェクト

メソッド

名前 説明
AddError このモデルに対するエラー情報を追加して、追加したエラー情報を返します。
AddNewModel このインスタンスの指定されたフィールドに指定されたクラスのインスタンスをフィールド値として追加します。
インスタンスが、該当フィールドの末尾の要素として追加されます。
指定されたクラスが抽象クラスの場合でもインスタンス化を許容し、該当フィールドの末尾の要素として追加されます。
指定するフィールドは、クラス型の所有フィールドでなければなりません。
多重度が2以上のフィールドの多重度上限制約に違反しても例外はスローされません。

また、指定するクラス名は、フィールドのデータ型と互換する型を指定する必要があります。
なお、あいまい一致とするときに、一致するクラスが複数ある場合、一番最初に見つかった型互換のあるクラスのインスタンスを追加します。
AddNewModelAt このインスタンスの指定されたフィールドに、追加位置を指定して指定されたクラスのインスタンスをフィールド値として追加します。
指定されたクラスが抽象クラスの場合でもインスタンス化を許容し、指定された位置にフィールド値として追加します。
指定するフィールドは、クラス型の所有フィールドでなければなりません。
なお、多重度が2以上のフィールドの多重度上限制約に違反しても例外はスローされません。

指定するクラス名は、フィールドのデータ型と互換する型を指定する必要があります。
また、あいまい一致とするときに、一致するクラスが複数ある場合、一番最初に見つかった型互換のあるクラスのインスタンスを追加します。
AddNewModelTo このインスタンスの指定されたフィールドに、追加位置を指定して指定されたクラスのインスタンスをフィールド値として追加します。
指定されたクラスが抽象クラスの場合でもインスタンス化を許容し、指定された位置にフィールド値として追加します。
指定するフィールドは、クラス型の所有フィールドでなければなりません。
なお、多重度が2以上のフィールドの多重度上限制約に違反しても例外はスローされません。

指定するクラス名は、フィールドのデータ型と互換する型を指定する必要があります。
また、あいまい一致とするときに、一致するクラスが複数ある場合、一番最初に見つかった型互換のあるクラスのインスタンスを追加します。
As このインスタンスが指定されたクラス型と互換するか調べます。
このインスタンスが指定されたクラス、またはそのサブクラスのインスタンスである場合に True を返します。
AsIn(IEnumerable<string>,bool) このインスタンスが複数の string 型で指定されたクラス型と互換するか調べます。
このインスタンスが指定されたいずれかのクラス、またはそれらのサブクラスのインスタンスである場合に True を返します。
AsIn(string,bool) このインスタンスがカンマ区切りの string 型で指定されたクラス型と互換するか調べます。
このインスタンスが指定されたいずれかのクラス、またはそれらのサブクラスのインスタンスである場合に True を返します。
AssignFeature このモデルに指定されたフィーチャを割り当てます。
AssignFeatureByName このモデルに指定された名前のフィーチャを割り当てます。
AssignFeatures このモデルに指定されたすべてのフィーチャを割り当てます。
AssignFeaturesByName このモデルに指定された名前のすべてのフィーチャを割り当てます。
CanRelate このインスタンスの指定されたフィールドで与えられたモデルと関連づけできるか調べます。
関連づけできる場合はTrueを返します。
このメソッドでは、フィールドの型だけでなく、以下のフィールド制約についても評価します。
[評価する制約]
- パス制約
- 型制約
- 多重度上限

なお、自身、もしくは関連づけするモデルが削除済みモデル、一時プロキシの場合はFalseを返します。
また、以下のフィールドが指定された場合もFalseを返します。
- プロダクトラインのフィーチャ割り当てフィールド
- System.Coreタグが付与されたフィールド
- 所有フィールド
CanRelateAny このインスタンスを与えられたモデルと関連づけできるか調べます。
このインスタンスのいずれかの参照フィールドで関連づけることができる場合はTrueを返します。
なお、自身、もしくは関連づけするモデルが削除済みモデル、一時プロキシの場合はFalseを返します。
なお、所有のフィールドに関しては対象としません。
Count 指定されたフィールドの値件数を取得します。

このメソッドは、IContextOption.PlModelAccessMode を評価しません。
Delete このインスタンスを削除します。
既に削除されたインスタンスに対してこのメソッドを呼び出した場合は何も行われません。

このインスタンスを削除することにより、以下のようなモデルに対する変更が発生します。
・このインスタンスと所有元(親要素)との所有関連が削除されます。
・このインスタンスを関連端とする全ての参照関連が削除されます。
・このインスタンスが所有するすべての子要素以下の要素、およびそれらの要素を関連端とする参照関連が削除されます。
FindChildrenByClass このインスタンスの所有関係にあるインスタンスのうち指定されたクラスのインスタンスを検索します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。

所有関係にあるインスタンスのうち、指定されたクラスのインスタンスのコレクションを返します。
なお、クラス名に指定したクラスが見つからない場合は空のコレクションを返します。
また、該当するインスタンスが存在しない場合も空のコレクションを返します。
FindChildrenByClassDisplayName このインスタンスの所有関係にあるインスタンスのうち指定された表示名をもつクラスのインスタンスを検索します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。

所有関係にあるインスタンスのうち、指定された表示名をもつクラスのインスタンスのコレクションを返します。
該当するインスタンスが存在しない場合は空のコレクションを返します。
FindChildrenByClassTag このインスタンスの所有関係にあるインスタンスのうち指定されたタグが付与されたクラスのインスタンスを取得します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。

所有関係にあるインスタンスのうち、指定されたタグが付与されたクラスのインスタンスのコレクションを返します。
該当するインスタンスが存在しない場合は空のコレクションを返します。
FindChildrenByTag このインスタンスの所有関係にあるインスタンスのうち指定されたタグが付与されたインスタンスを取得します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。

所有関係にあるインスタンスのうち、指定されたタグが付与されたインスタンスのコレクションを返します。
該当するインスタンスが存在しない場合は空のコレクションを返します。
FindOwnerByClass このインスタンスを保持する指定クラスの最初の所有元インスタンスを取得します。

このインスタンスを所有するインスタンスを親方向へ辿り、最初に見つかった指定クラスのインスタンスを返します。
最上位の親要素まで探索しても、該当するインスタンスが見つからなかった場合は null を返します。

なお、クラス名に指定したクラスが見つからない場合はnullを返します。
また、あいまい一致とするときに、一致するクラスが複数ある場合、一番最初に見つかったクラスのインスタンスを返します。
GetAllChildren このインスタンスから所有関係の深さ優先探索で探索できるすべての所有先インスタンスを取得します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。

このインスタンスを基点として所有関係の深さ優先探索で探索できるすべての所有先インスタンスのコレクションを返します。
該当するインスタンスが存在しない場合は空のコレクションを返します。
GetAllErrorsWithChildren このモデルが所有する子要素以下の要素も含めた全てのエラー情報を取得します。
エラー情報が存在しない場合は、空のコレクションを返します。

エラー情報にはサマリ情報を含みます。
GetChildren このインスタンスの直接の所有関係にある所有先インスタンスを取得します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。

このインスタンスと直接の所有関係にある所有先インスタンスのコレクションを返します。
該当するインスタンスが存在しない場合は空のコレクションを返します。
GetDerivedFromRelationsOf このモデルが指定されたモデルから導出した要素であった場合、その全ての導出関連を取得します。
例えば、このモデルが{要素A}から導出した要素であった場合に、引数に{要素A}を指定することで、その導出関連を取得することができます。

これは、次のような処理に利用することができます。
・要求オブジェクトと仕様オブジェクトに導出関係がある場合に、仕様オブジェクト側から、要求オブジェクトに対する関連を取得する

このメソッドは、IContextOption.PlModelAccessMode を評価します。

該当する関連が存在しない場合は、空のコレクションを返します。
GetDerivedModels 指定された関連クラスにより、このインスタンスの導出元インスタンスを取得します。
関連クラスが未指定(null)の場合は、全ての導出元インスタンスを取得します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。

以下のケースに該当する場合は、このメソッドは空のコレクションを返します。
- 該当する導出関連で関連づけられた導出元インスタンスが存在しない
- 指定された関連クラスが見つからない
- 指定された関連クラスが導出関連でない
- 指定された導出関連クラスによる導出元への参照フィールドが見つからない
GetDerivedToRelationsOf 指定されたモデルが、このモデルから導出した要素であった場合、その全ての導出関連を取得します。
例えば、このモデルから導出した{要素B}があった場合に、引数に{要素B}を指定することで、その導出関連を取得することができます。

これは、次のような処理に利用することができます。
・要求オブジェクトと仕様オブジェクトに導出関係がある場合に、要求オブジェクト側から、仕様オブジェクトに対する関連を取得する

このメソッドは、IContextOption.PlModelAccessMode を評価します。

該当する関連が存在しない場合は、空のコレクションを返します。
GetDeriveRelationsOf 指定されたモデルとの全ての導出関連を取得します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。

該当する関連が存在しない場合は、空のコレクションを返します。
なお、このメソッドでは導出方向を評価しません。
GetDerivingModels 指定された関連クラスにより、このインスタンスから導出したインスタンスを取得します。
関連クラスが未指定(null)の場合は、全ての導出したインスタンスを取得します。

このメソッドは、IContextOption.PlModelAccessMode を評価します。

以下のケースに該当する場合は、このメソッドは空のコレクションを返します。
- 該当する導出関連で関連づけられた導出先インスタンスが存在しない
- 指定された関連クラスが見つからない
- 指定された関連クラスが導出関連でない
- 指定された導出関連クラスによる導出先への参照フィールドが見つからない
GetEditor このインスタンスに対応する指定された名前のエディタを取得します。
このメソッドは、IContextOption.EditorAccessModeを評価します。

該当するエディタが見つからない場合は、null を返します。

EditorAccessModeの指定によっては、最新のモデルの変更が同期されません。
そのため、モデルを変更してから一度も表示していないエディタ等では、正しい情報が取得できない場合があることに注意してください。
GetEditors このインスタンスに対応するすべてのエディタを取得します。
このメソッドは、IContextOption.EditorAccessModeを評価します。

対応するエディタが存在しない場合は、空のコレクションを返します。

EditorAccessModeの指定によっては、最新のモデルの変更が同期されません。
そのため、モデルを変更してから一度も表示していないエディタ等では、正しい情報が取得できない場合があることに注意してください。
GetField このインスタンスの指定されたフィールドの値を取得します。
指定されたフィールドの多重度が2以上の場合は、該当フィールドの先頭要素を取得します。
GetFieldAt このインスタンスの指定されたフィールドの指定されたインデックス位置の値を取得します。
GetFieldString このインスタンスの指定されたフィールドの値を文字列形式で取得します。
指定されたフィールドがクラス型の場合、そのフィールドの先頭のインスタンス名を取得します。
なお、多重度が2以上の場合は、該当フィールドの先頭要素を取得します。
GetFieldStringAt このインスタンスの指定されたフィールドの指定されたインデックス位置の値を文字列形式で取得します。
指定されたインデックス位置のフィールドがクラス型の場合、そのフィールドの先頭のインスタンス名を取得します。
GetFieldValues 指定されたフィールドの値コレクションを取得します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。

該当するフィールド値が存在しない場合は、空のコレクションを返します。
なお、このメソッドで指定するフィールドのデータ型はクラス型でなければなりません。
GetFieldValuesByFieldTag 指定されたタグが付与されたフィールドの値の列挙を取得します。
該当タグが付与されたフィールドが複数存在する場合は、そのすべてのフィールドの値の列挙を結合して返します。
このメソッドは、IContextOption.PlModelAccessMode を評価しません。プロダクトで無効となる要素も返される点に注意してください。

該当するフィールド値が存在しない場合は、空のコレクションを返します。

なお、このメソッドが対象とするタグを付与するフィールドのデータ型は任意です。したがって、このメソッドが返す列挙は object 型となります。
利用の際には、最適なデータ型に変換する必要があります。
GetOwnerField このモデルの所有元モデルがこのモデルを保持するフィールドを取得します。
このモデルが関連の場合、または所有元モデルが存在しない場合は null を返します。
GetOwnerRelationship このモデルの所有元モデルとの関連を取得します。
このモデルが関連の場合、または所有元モデルが存在しない場合は null を返します。
GetOwners このインスタンスに対して所有関係で探索できる全ての所有元インスタンスを取得します。
このインスタンスを所有するインスタンスの親方向へのインスタンスのコレクションを返します。
親要素が存在しない場合は空のコレクションを返します。
GetProductApplyCondition このモデルのプロダクト適用条件式を取得します。

プロダクト適用条件式は、"フィーチャ名変数"を真偽値型変数として扱う論理式です。
コンフィグレーションにおいて、フィーチャが選択状態にある場合、該当の"フィーチャ名変数"を真として評価します。
"フィーチャ名変数"は、"["および"]"でフィーチャ名、またはフィーチャユニーク名を囲む書式により記述します。
また、プロダクト適用条件式では、次の論理演算子、および計算順序を指定する"(",")"を使用できます。
- AND : 論理積
- OR : 論理和
- NOT : 否定

例:
・次のプロダクト適用条件式は、コンフィグレーションにおいて、フィーチャ名が"追従走行"、または"前方カメラ"が選択されている場合に真として評価される条件式です。
[追従走行] OR [前方カメラ]

・次のプロダクト適用条件式は、コンフィグレーションにおいて、フィーチャ名が"定速走行"が選択されておらず、かつ"ミリ波レーダー"が選択されている場合に真として評価される条件式です。
NOT [定速走行] AND [ミリ波レーダー]
GetReferenceFieldsOf このインスタンスのクラスが持つ参照フィールドのうち、指定されたモデルを格納可能な型の参照フィールドを取得します。
このメソッドで取得できるフィールドは、Model.Metaclass.GetReferenceFieldOf(model.Metaclass) と同じ結果となります。
また、多重度、パス制約等のフィールドの制約については評価されません。
GetRefRelatedModels 指定された関連クラスにより、このインスタンスと参照関係にあるインスタンスを取得します。
関連クラスが未指定(null)の場合は、全ての参照関係にあるインスタンスを取得します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。

以下のケースに該当する場合は、このメソッドは空のコレクションを返します。
- 該当する参照関連で関連づけられたインスタンスが存在しない
- 指定された関連クラスが見つからない
- 指定された関連クラスによる参照フィールドが見つからない

なお、指定された関連クラスが、自己参照関連の場合は、関連元、関連先のいずれの関係も評価します。
GetRelatableFieldsOf このインスタンスと指定されたモデルを関連づけることができる参照フィールドを取得します。
このメソッドで取得できるフィールドは、フィールドの制約について評価します。
そのため、次の制約を満たさないフィールドは除外されます。
[評価する制約]
- パス制約
- 多重度上限
GetRelatingFieldsOf このインスタンスのクラスが持つ全てのフィールドのうち、指定されたモデルをフィールド値として格納するものを取得します。
このメソッドで取得できるフィールドは、所有/参照に関係なく取得します。
GetRelation 指定されたフィールドの関連を取得します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。

指定されたフィールドが有効な関連を持たない場合は、null を返します。
なお、指定されたフィールドの多重度が2以上の場合は、該当フィールドの先頭要素への関連を取得します。
GetRelationAt 指定されたフィールドの指定位置の関連を取得します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。
GetRelations 指定されたフィールドの関連コレクションを取得します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。

該当する関連が存在しない場合は、空のコレクションを返します。
GetRelationsByClassTag このインスタンスのすべてのフィールドから指定されたタグが付与された関連クラスのインスタンスを取得します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。

該当する関連が存在しない場合は、空のコレクションを返します。
GetRelationsByClassTagOf このモデルのすべてのフィールドから指定されたタグが付与された関連クラスによって関連づけられた与えられたモデルとの関連を取得します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。

該当する関連が存在しない場合は、空のコレクションを返します。
GetRelationsByFieldOf 指定されたフィールドにおける指定されたモデルとの関連を取得します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。

該当する関連が存在しない場合は、空のコレクションを返します。
GetRelationsByFieldTag 指定されたタグが付与されたフィールドの関連を取得します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。

該当する関連が存在しない場合は、空のコレクションを返します。
GetRelationsByFieldTagOf 指定されたタグが付与されたフィールドから、与えられたモデルとの関連を取得します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。

該当する関連が存在しない場合は、空のコレクションを返します。
GetRelationsByTag 指定されたフィールドにおける指定されたタグが付与された関連を取得します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。

該当する関連が存在しない場合は、空のコレクションを返します。
GetRelationsOf 指定されたモデルとの全ての関連を取得します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。

該当する関連が存在しない場合は、空のコレクションを返します。
なお、このメソッドは、所有関連/参照関連に関係なく、全ての関連を取得します。
GetRelationsOfWhere このインスタンスの指定された条件に合致する与えられたモデルとの関連を取得します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。

該当する関連が存在しない場合は、空のコレクションを返します。

取得対象の関連は評価関数により、任意に決定することができます。
GetRelationsWhere このインスタンスの指定された条件に合致する全ての関連を取得します。
このメソッドは、IContextOption.PlModelAccessMode を評価します。

該当する関連が存在しない場合は、空のコレクションを返します。

取得対象の関連は評価関数により、任意に決定することができます。
GetRepresentationsInEditor 指定されたエディタ内でこのインスタンスに対応するすべての表現情報を取得します。
このメソッドは、IContextOption.EditorAccessModeを評価します。

該当する要素がない場合は、空のコレクションを返します。

EditorAccessModeの指定によっては、最新のモデルの変更が同期されません。
そのため、モデルを変更してから一度も表示していないエディタ等では、正しい情報が取得できない場合があることに注意してください。
Is このインスタンスが指定されたクラスのインスタンスであるか調べます。
指定されたクラスのインスタンスの場合はTrueを返します
IsAppliedItem このモデルがカレントのプロダクトで有効か調べます。
IsAppliedItemTo このモデルが指定されたプロダクトで有効か調べます。
IsAppliedItemToByName このモデルが指定された名前のプロダクトで有効か調べます。
IsIn(IEnumerable<string>,bool) このインスタンスが指定されたいずれかのクラスのインスタンスであるか調べます。
指定されたいずれかのクラスのインスタンスの場合はTrueを返します。
IsIn(string,bool) このインスタンスが指定されたいずれかのクラスのインスタンスであるか調べます。
指定されたいずれかのクラスのインスタンスの場合はTrueを返します。
IsRelatedAtFieldTo このインスタンスが指定されたフィールドで与えられたモデルと参照関連を持つか調べます。
関連を持つ場合はTrueを返します。
IsRelatedTo このインスタンスが与えられたモデルと参照関連を持つか調べます。
関連を持つ場合はTrueを返します。
MoveTo このインスタンスを指定されたモデルの子要素となるように移動します。
移動先の親要素、およびフィールドが、現在の親要素、およびフィールドと同一の場合は、指定フィールドにおける要素の順序を変更します。
なお、移動先フィールドの多重度上限制約が違反しても例外はスローされません。
NotifyFieldChanged 指定されたフィールドの値変更を通知します。
Relate このインスタンスの指定されたフィールドの末尾で与えられたモデルを関連づけて、追加した関連インスタンスを返します。
RelateAll このインスタンスの与えられたモデルと関連付けが可能な全ての参照フィールドで与えられたモデルを関連づけて、追加したすべての関連インスタンスのコレクションを返します。
関連づけするモデルに削除されたモデル、一時プロキシが指定された場合、関連づけは行われません。
関連づけが行われなかった場合は、空のコレクションを返します。

このメソッドでは、次の制約を満たさないフィールドは関連付け対象から除外されます。
[評価する制約]
- パス制約
- 型制約
- 多重度上限
- 操作可否
RelateAllDerivedFrom このインスタンスの与えられたモデルを導出元として関連付けが可能な全てのフィールドで与えられたモデルを導出元として関連づけて、追加したすべての関連インスタンスのコレクションを返します。
関連づけするモデルに削除されたモデル、一時プロキシが指定された場合、関連づけは行われません。
関連づけが行われなかった場合は、空のコレクションを返します。

このメソッドでは、次の制約を満たさないフィールドは関連付け対象から除外されます。
[評価する制約]
- パス制約
- 型制約
- 多重度上限
- 操作可否
RelateAllDerivedTo このインスタンスの与えられたモデルを導出先として関連付けが可能な全てのフィールドで与えられたモデルを導出先として関連づけて、追加したすべての関連インスタンスのコレクションを返します。
関連づけするモデルに削除されたモデル、一時プロキシが指定された場合、関連づけは行われません。
関連づけが行われなかった場合は、空のコレクションを返します。

このメソッドでは、次の制約を満たさないフィールドは関連付け対象から除外されます。
[評価する制約]
- パス制約
- 型制約
- 多重度上限
- 操作可否
RelateAt このインスタンスの指定されたフィールドで、追加位置を指定して与えられたモデルを関連づけて、追加した関連インスタンスを返します。
RelateByClassTag このインスタンスの指定されたタグが付与された関連クラスによって関連づけ可能な参照フィールドで与えられたモデルを関連づけて、追加したすべての関連インスタンスのコレクションを返します。
関連づけするモデルに削除されたモデル、一時プロキシが指定された場合、関連づけは行われません。
関連づけが行われなかった場合は、空のコレクションを返します。

このメソッドでは、次の制約を満たさないフィールドは関連付け対象から除外されます。
[評価する制約]
- パス制約
- 型制約
- 多重度上限
- 操作可否
RelateByFieldTag このインスタンスの指定されたタグが付与された参照フィールドで与えられたモデルを関連づけて、追加したすべての関連インスタンスのコレクションを返します。
関連づけするモデルに削除されたモデル、一時プロキシが指定された場合、関連づけは行われません。
関連づけが行われなかった場合は、空のコレクションを返します。

このメソッドでは、次の制約を満たさないフィールドは関連付け対象から除外されます。
[評価する制約]
- パス制約
- 型制約
- 多重度上限
- 操作可否
RelateWhere このインスタンスの指定された条件に合致する全ての参照フィールドで与えられたモデルを関連づけて、追加したすべての関連インスタンスのコレクションを返します。
関連づけするモデルに削除されたモデル、一時プロキシが指定された場合、関連づけは行われません。
関連づけが行われなかった場合は、空のコレクションを返します。

関連づけする参照フィールドは、評価関数により、任意に決定することができます。
ただし、評価関数に合致しても、以下の条件に該当するフィールドの場合は、関連づけは行われず正常終了します。
・フィールドのパス制約を違反する場合
・フィールドの型が与えられたモデルと互換しない場合
・フィールドの多重度を超える場合
・条件に合致するフィールドが以下の操作不可フィールドであった場合
- プロダクトラインのフィーチャ割り当てフィールド
- System.Coreタグが付与されているフィールド
ReleaseAllAssignedFeatures このモデルに割り当てられたすべてのフィーチャとの割り当てを解除します。
この呼び出しでフィーチャとの割り当てを解除した場合はプロダクト適用条件式も削除されます。
ReleaseAssignedFeature 指定されたフィーチャのこのモデルへの割り当てを解除します。
ReleaseAssignedFeatureByName 指定された名前のフィーチャについて、このモデルへの割り当てを解除します。
ReleaseAssignedFeatures 指定されたすべてのフィーチャのこのモデルへの割り当てを解除します。
ReleaseAssignedFeaturesByName 指定された名前のすべてのフィーチャについて、このモデルへの割り当てを解除します。
RemoveError このモデルに対して追加されているエラー情報を削除します。
削除対象のエラー情報に null または、このモデルに含まれないエラー情報を指定した場合は、何も行われず正常終了します。
RemoveField このインスタンスの指定されたフィールドの値を削除します。
指定されたフィールドが所有フィールドの場合は、指定されたモデルを削除します。
指定されたフィールドが参照フィールドの場合は、参照関連のみを削除し、モデルは維持されます。

なお、削除対象として指定されたモデルが、指定フィールドに含まれない場合は、何も行われず正常終了します。
RemoveFieldAt このインスタンスの指定された位置のフィールド値を削除します。
指定されたフィールドが所有フィールドの場合は、指定された位置のモデルを削除します。
指定されたフィールドが参照フィールドの場合は、指定された位置の参照関連のみを削除し、モデルは維持されます。
SetField このインスタンスの指定されたフィールドに、指定された値を設定します。
指定されたフィールドに設定できない値が指定された場合は、例外がスローされます。
なお、指定されたフィールドの多重度が2以上の場合は、該当フィールドの先頭要素を設定します。
SetFieldAt このインスタンスの指定されたフィールドの指定されたインデックス位置に、指定された値を設定します。
指定されたフィールドに設定できない値が指定された場合は、例外がスローされます。
なお、フィールドの多重度上限制約、パス制約に違反しても例外はスローされません。
SetInitField このインスタンスの指定されたフィールドに、メタモデルで定義するフィールドの初期値を設定します。
メタモデルでフィールドの初期値を指定していない場合は、フィールド型のデフォルト値を設定します。

クラス型の所有フィールドに対してこのメソッドを呼び出した場合、フィールド値として設定されていたIModelは削除されます。
また、クラス型の参照フィールドに対してこのメソッドを呼び出した場合、フィールド値として設定されていたIModelとの関連が削除されます(フィールド値のIModelは削除されずに維持されます)。
SetProductApplyCondition このモデルのプロダクト適用条件式を設定します。
なお、プロダクト適用条件式内において、このモデルに未割り当てのフィーチャ名が指定されている場合は、自動的にフィーチャが割り当てられます。
また、条件式で、このモデルに割り当て済みのフィーチャ名が使用されなかった場合は、自動的にフィーチャとの割り当てが解除されます。
条件式に空の文字列を指定した場合は、全てのフィーチャ割り当てが解除されます。
Take このインスタンスの指定されたフィールドへ指定されたモデルを移動します。
移動対象のモデルの親要素がこのインスタンスとなります。
なお、移動先フィールドの多重度上限制約が違反しても例外はスローされません。
UnRelate このインスタンスの指定されたフィールドで与えられたモデルとの参照関連づけを解除します。
該当フィールドにおいて、複数の関連づけがある場合は、そのすべての関連付けを解除します。
与えられたモデルとの関連が存在しなかった場合は、何も行われず正常終了します。
UnRelateAll このインスタンスの与えられたモデルとの全ての参照関連づけを解除します。
与えられたモデルとの関連が存在しなかった場合は、何も行われず正常終了します。
また、以下の条件に該当するフィールドへの関連づけも解除されず正常終了します。
・プロダクトラインサポート向けフィールドでの関連付け
・System.Coreタグが付与されているフィールドでの関連付け
UnRelateAllDerivedFrom このインスタンスの与えられたモデルを導出元とする全ての関連づけを解除します。
与えられたモデルとの関連が存在しなかった場合は、何も行われず正常終了します。
また、以下の条件に該当するフィールドへの関連づけも解除されず正常終了します。
・プロダクトラインサポート向けフィールドでの関連付け
・System.Coreタグが付与されているフィールドでの関連付け
UnRelateAllDerivedTo このインスタンスの与えられたモデルを導出先とする全ての関連づけを解除します。
与えられたモデルとの関連が存在しなかった場合は、何も行われず正常終了します。
また、以下の条件に該当するフィールドへの関連づけも解除されず正常終了します。
・プロダクトラインサポート向けフィールドでの関連付け
・System.Coreタグが付与されているフィールドでの関連付け
UnRelateByClassTag このインスタンスの指定されたタグが付与された関連クラスによって関連づけ可能な参照フィールドで与えられたモデルとの関連づけを解除します。
与えられたモデルとの関連が存在しなかった場合は、何も行われず正常終了します。
また、以下の条件に該当するフィールドへの関連づけも解除されず正常終了します。
・プロダクトラインサポート向けフィールドでの関連付け
・System.Coreタグが付与されているフィールドでの関連付け
UnRelateByFieldTag このインスタンスの指定されたタグが付与された参照フィールドで与えられたモデルとの関連づけを解除します。
与えられたモデルとの関連が存在しなかった場合は、何も行われず正常終了します。
また、以下の条件に該当するフィールドへの関連づけも解除されず正常終了します。
・プロダクトラインサポート向けフィールドでの関連付け
・System.Coreタグが付与されているフィールドでの関連付け
UnRelateWhere このインスタンスの与えられたモデルとの指定された条件に合致する全ての参照関連づけを解除します。

関連づけを解除する対象は評価関数により、任意に決定することができます。
ただし、以下の条件に該当する関連づけは解除されずに正常終了します。
・条件に合致する関連がプロダクトラインサポート向けの関連であった場合
・条件に合致する関連端のフィールドにSystem.Coreタグが付与されている場合
Validate このモデルを検証します。
このモデル、およびこのモデルが所有する子要素以下の全ての要素を再帰的に検証します。
このメソッドは、実行時に以前のエラー情報がすべてクリアされます。

[検証内容]
・アプリケーションが既定する標準の検証
・エクステンションの検証イベントにより拡張した検証